Automatic call distributors (ACDs) are specialized systems designed to match incoming requests for service, for example a telephone call, a chat or any other multi-media call or contact request with a resource that is able to provide that service, for example a human contact center agent. ACDs generally perform one or more of the following functions: (i) recognize and answer incoming contacts; (ii) review database(s) for instructions on what to do with a particular contact; (iii) receive caller input regarding the contact; (iv) use the instructions and input to identify an appropriate agent and queue the contact, often times providing a prerecorded message; and (v) connect the contact to an agent as soon as the agent is available.
In current ACD systems, when a caller calls in and all agents are busy, the caller gets queued and has to wait for an available agent. The queue time depends on how soon the agent becomes available and the number of calls already in the queue. At times a caller to a busy call center may receive an outgoing message “We are experiencing a heavy call load. Please hang up and try again later.” There is no guarantee that if the user calls later, he will not receive the same message again. The most common complaint for customers dialing into call centers is the long time spent waiting in queue. Not only does this waste callers' time and money (e.g., for the cost of the call), but it consumes the bandwidth between their phone devices and telephony service providers, be it mobile minutes or network bandwidth on Voice over IP (VoIP) systems. Some systems provide functionality at the call center that allow customers to queue while not holding on the phone.